Currently, networks play more and more important roles in daily life, and the network performance directly affects network user experience. The network speed is a key performance index that affects user experience. However, restricted by finite network bandwidth, people attempt to develop various technologies that can improve packet transmission speed under the restrictions of finite bandwidth. For example, P2P, which improves data transmission speed through distributed data exchange, is very popular now. BitTorrent (BT) is a typical P2P application. Taking BT as an example, the following section describes how P2P works. Assume BT divides a file into several data segments, for example, A, B, and C, and allows clients 1 and 2 to download this file. Suppose client 1 connects to the server and randomly downloads segment A of the file, and client 2 connects to the server and randomly downloads segment B of the file. Then, client 1 can select to download segment B from client 2, which is faster than the server, according to the practical situation; likewise, client 2 can select to download segment A from client 1, which is faster than the server, according to the practical situation. That is, BT can make a client that has downloaded some data segments as the download base for other clients, thus reducing the download burden of the server and accelerating the download speed of each client.
With the popularity of P2P and the increase in requirements for music, video, and open-source software, networks are flooded with plenty of P2P traffic, more than 70% of the total traffic, which occupies massive bandwidth and affects the overall network performance.